package com.iplant.ams.service.po.dms.fault;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.po.BasePO;
import com.iplant.base.po.enums.DBSchemas;
import com.iplant.base.utils.annotation.po.DBBasePO;
import com.iplant.base.utils.annotation.condition.DBCondition;
import com.iplant.base.utils.annotation.field.DBField;
import com.iplant.base.utils.annotation.join.DBJoin;

import java.io.Serializable;

/**
 * 故障知识库
 *
 * @author shun·du
 * 2023-8-10 10:06:38
 */
@DBBasePO(TableName = "dms_fault_base", Schemas = DBSchemas.AMS, CheckName = {"Code", "Description"})
public class DMSFaultBase extends BasePO implements Serializable {
    /**
     * 序列号
     */
    private static final long serialVersionUID = 1L;

    /**
     * 处置办法
     **/
    @DBField
    public String HandleWay = "";

    /**
     * 附件
     **/
    @DBField
    public String FileUrl = "";
    /**
     * 设备类型ID
     **/
    @DBField
    public int DeviceTypeID = 0;
    @DBJoin(name = "Code", tableName = "dms_device_type", tableAsName = "dms_device_type1", Schemas =
            DBSchemas.AMS,
            MainTableField = "DeviceTypeID")
    public String DeviceTypeCode = "";
    @DBJoin(name = "Name", tableName = "dms_device_type", tableAsName = "dms_device_type1", Schemas =
            DBSchemas.AMS,
            MainTableField = "DeviceTypeID")
    public String DeviceTypeName = "";

    /**
     * 异常类型
     */
    @DBCondition
    @DBField
    public int ExcType = 0;

    /**
     * 知识库类型（1、故障知识库 2、异常知识库）
     */
    @DBCondition
    @DBField
    public int Type = 0;

    @JsonProperty("HandleWay")
    public String getHandleWay() {
        return HandleWay;
    }

    public void setHandleWay(String handleWay) {
        HandleWay = handleWay;
    }

    @JsonProperty("DeviceTypeID")
    public int getDeviceTypeID() {
        return DeviceTypeID;
    }

    public void setDeviceTypeID(int deviceTypeID) {
        DeviceTypeID = deviceTypeID;
    }

    @JsonProperty("DeviceTypeCode")
    public String getDeviceTypeCode() {
        return DeviceTypeCode;
    }

    public void setDeviceTypeCode(String deviceTypeCode) {
        DeviceTypeCode = deviceTypeCode;
    }

    @JsonProperty("DeviceTypeName")
    public String getDeviceTypeName() {
        return DeviceTypeName;
    }

    public void setDeviceTypeName(String deviceTypeName) {
        DeviceTypeName = deviceTypeName;
    }

    @JsonProperty("FileUrl")
    public String getFileUrl() {
        return FileUrl;
    }

    public void setFileUrl(String fileUrl) {
        FileUrl = fileUrl;
    }

    @JsonProperty("Type")
    public int getType() {
        return Type;
    }

    public void setType(int type) {
        Type = type;
    }

    @JsonProperty("ExcType")
    public int getExcType() {
        return ExcType;
    }

    public void setExcType(int excType) {
        ExcType = excType;
    }
}
